package com.example.vendingmachine.service;

import com.example.vendingmachine.dto.ProductDTO;
import com.example.vendingmachine.dto.ProductQuery;
import com.example.vendingmachine.entity.Product;
import com.github.pagehelper.PageInfo;

/**
 * 商品服务接口
 */
public interface ProductService {
    /**
     * 分页查询商品列表
     */
    PageInfo<Product> listProducts(ProductQuery query);

    /**
     * 根据ID查询商品
     */
    Product getProductById(Long id);

    /**
     * 新增商品
     */
    Long createProduct(ProductDTO productDTO);

    /**
     * 更新商品
     */
    void updateProduct(ProductDTO productDTO);

    /**
     * 删除商品
     */
    void deleteProduct(Long id);

    /**
     * 更新商品状态
     */
    void updateProductStatus(Long id, String status);

    /**
     * 查询商品总库存
     */
    int getTotalStock(Long id);
} 